using System.Collections.Generic;
using Microsoft.Xna.Framework;

namespace HumanElement.Xna
{
    public interface IContext<TService, TEntity> where TEntity : IEntity
        where TService : IGameService<TEntity>

    {
        /// <summary>
        /// Gets the game service.
        /// </summary>
        /// <value>The game service.</value>
        TService Service { get; }

        /// <summary>
        /// Gets the service client.
        /// </summary>
        /// <value>The service client.</value>
        List<TEntity> ServiceClient { get; }

        /// <summary>
        /// Gets the game time.
        /// </summary>
        /// <value>The game time.</value>
        GameTime GameTime { get; }
    }
}